package com.java.observer;

import java.util.ArrayList;
import java.util.List;

/**
 * @Author: TongRui乀
 * @Date: 2019/3/6 13:25
 * @description： 主题
 */
public class Subject {

    private int state;

    private List<Observer> observers = new ArrayList<Observer>();

    /**
     *  更新主题
     * @param state
     */
    public void updateSubjectSteate(int state){
        this.state = state;
        // 通知观察者
        if(observers != null){
            observers.forEach( observer -> {
                observer.update();
            });
        }
    }

    /**
     *  观察者订阅主题
     * @param observer
     */
    public void addObserver(Observer observer){
        this.observers.add(observer);
    }
}
